package com.quiz.file.service;

import com.quiz.file.domain.Bo.FileInfoBo;
import com.quiz.file.domain.model.FileInfo;
import com.quiz.file.domain.vo.FileInfoVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 文件服务接口
 * @author ahuan
 */
public interface IFileService {

    /**
     * 保存上传文件信息
     * @param fileInfo 文件信息
     * @return {@link FileInfo}
     */
    Boolean sava(FileInfoBo fileInfo);


    /**
     * 保存上传文件信息(批量)
     * @param fileInfo 文件信息
     * @return {@link FileInfo}
     */
    List<FileInfo> savaBatch(List<FileInfoBo> fileInfoBo);


    /**
     * 获取文件信息根据文件id
     * @param id 文件id
     * @return {@link FileInfo}
     */
    FileInfo getFileById(Long id);
    List<FileInfo> getFileByIds(Long[] id);
    List<FileInfo> getFileByIds(long[] id);

    boolean removeById(Long id);
    void deleteFileByFileIds(String fileIds);

    void onlinePreview(Long fileId, HttpServletResponse response) throws Exception;

    List<FileInfoVo> details(String fileIds);
}
